<?php
/**
 * <https://y.st./>
 * Copyright © 2016 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'My mobile computing is once again under my control.',
	'<{body}>' => <<<END
<p>
	Current countdowns:
</p>
<ul>
	<li>
		20 unfinished weblog entries in <a href="/en/weblog/2016/07-July/">July</a>
	</li>
	<li>
		11 days until mobile voice/$a[SMS] service with my current carrier ends
	</li>
	<li>
		41 days until mobile data service with my current carrier ends
	</li>
	<li>
		38 days until my old domain registrar can no longer counter my charge dispute
	</li>
</ul>
<p>
	Patreon support told me to reach them via another contact method; a form on another website, so I did, though I&apos;m not sure why they have multiple methods of contacting support if they don&apos;t all actually lead to people that can resolve issues.
</p>
<blockquote>
	<p>
		Several months ago, you changed your CloudFlare settings, and I haven&apos;t been able to log in since.
		This is a combination of two problems.
		First, your log in form requires JavaScipt.
		It should be possible to log in with a simple HTTP POST request.
		Second, your JavaScript is behind a *SECOND* CloudFlare CAPTCHA wall due to being at a separate domain.
		This means that when I fill out the CAPTCHA to reach the log in page, I can&apos;t load the JavaScript.
		This second CAPTCHA never loads for me, because it&apos;s blocking the JavaScript file instead of a regular Web page.
		With the JavaScript file unable to load and the log in form refusing to allow log ins without JavaScript, I can&apos;t log in at all.
	</p>
	<p>
		I complained about this issue in March and you still haven&apos;t fixed this.
		I am a paying customer.
		Please fix your log in page, CAPTCHA walls, and/or JavaScript so I can actually log in and get what I&apos;m paying for.
	</p>
</blockquote>
<p>
	The next time that I saw my email inbox, I&apos;d received a letter from them.
</p>
<blockquote>
	<p>
		Hey there!
	</p>
	<p>
		Community Happiness Team here, eager to help you out!
	</p>
	<p>
		For security purposes, we aren&apos;t able to manually reset a user&apos;s password, but if you know the email you used when you created your account, you can reset your password using the &quot;forgot password&quot; link from the log-in menu.
		If you previously requested your account be deactivated, you will not be able to log back into your old account and will need to create a new one.
	</p>
	<p>
		If you have other questions related to logging in, you may find an answer in our <a href="https://patreon.zendesk.com/hc/en-us/articles/207483443">Help Center</a>.
		Let us know if you find what you are looking for; otherwise, we&apos;ll be in touch very soon!
	</p>
	<p>
		Love,<br/>
		Your Community Happiness Team
	</p>
</blockquote>
<p>
	At first, I mistook this for an actual response from a Patreon employee instead of what it really was: the ramblings of an automated mailer robot.
	In frustration, I replied.
</p>
<blockquote>
	<p>
		My password isn&apos;t the issue.
		I have my password.
		The issue is that you&apos;re JavaScript-based log in form is keeping its JavaScript file behind a CAPTCHA wall that never displays to the user.
	</p>
</blockquote>
<p>
	Eventually, a live person got back to me, so I responded.
</p>
<blockquote>
	<p>
		Michael from Patreon, Sep 8, 1:20 PM PDT
	</p>
	<p>
		Hi There,
	</p>
	<p>
		Thanks for reaching out to let us know there is a problem.
		I&apos;m happy to pass this along to our engineering team, but don&apos;t seem to be able to find an account with this email address- would you mind letting me know the email address that&apos;s attached to your Patreon account?
	</p>
	<p>
		I don&apos;t want to set the wrong expectations either- from my understanding this isn&apos;t something that we&apos;d want to change, at least as part of our security protocols, and that javascript would be necessary for the login procedure.
		Again, I&apos;m happy to pass this on to our engineers in case I&apos;m off base and this is something we want to change and needs addressing- but I know it&apos;s difficult for us for any kind of follow up without your account info.
	</p>
	<p>
		Let me know and we can peek into it.
	</p>
	<p>
		best,
	</p>
	<p>
		-Michael
	</p>
</blockquote>
<blockquote>
	<p>
		Sorry about that, it&apos;s my spam trap email address.
		That way, I know exactly who is emailing me.
		My Patreon account email address is:
	</p>
	<p>
		[REDACTED]
	</p>
	<p>
		Let me be a bit more clear though.
		When I registered with Patreon, this wasn&apos;t an issue.
		Now, I can&apos;t even log into my account, either to get what I&apos;m paying for or to cancel my subscription.
		It is absolutely mandatory that you either fix this problem, so I can continue using the Patreon content subscription that I&apos;m paying for, or cancel my account, so I am no longer paying for what you won&apos;t allow me to access.
	</p>
	<p>
		I would prefer that you fix the bug on your end, but if you won&apos;t do that, you at the very least need to stop charging me.
	</p>
	<p>
		~ Yst Dawson
	</p>
</blockquote>
<p>
	In <span title="Globalization">POLS 1503</span>, I&apos;m once again having troubles getting <a href="http://digital.films.com/play/LC4NG7">this week&apos;s video</a> to function.
	It seemed to work at first aside from the sound being way too low (my system sound is plenty high, which I verified by playing a local audio file).
	However, I paused the video for a couple minutes, after which the video would no longer play.
	This sucks.
	I don&apos;t know what&apos;s wrong with that video site, but it has issues.
	Unlike last week&apos;s readings, this week&apos;s readings are behine University of <span class="redacted">[REDACTED]</span>&apos;s login wall.
	If you&apos;re following along with my courses, I apologize for the inconvenience.
</p>
<p>
	Unfortunately, I had a bad headache for much of the day.
	Until near the end of the day, I couldn&apos;t figure out why I had the headache, but now, I think that it had to do with the fact that it was hotter today than it had been.
	I couldn&apos;t concentrate much, so I tried to move on to another assignment.
</p>
<p>
	Taking a look at my assignments in <span title="Online Education Strategies">UNIV 1001</span>, I found that I&apos;ve got to write a paper, and this paper <strong>*must*</strong> be formatted using a particular proprietary font.
	Being a proprietary font, I of course don&apos;t have it installed, so this might be a bit tricky.
	I&apos;ll tell <a href="apt:libreoffice">LibreOffice</a> Writer to use that font, but since it&apos;s not present, it&apos;ll fall back to an existing font.
	Will it put instructions to use the required font in the file or will it put instructions to use the font that it fell back to in the file? It appears to be the former, but I can&apos;t be sure.
</p>
<p>
	It turns out that my mother didn&apos;t get that job in Hollie.
	They also said that the interview today in Harrisburg didn&apos;t go as well as yesterdays.
	This isn&apos;t good.
	I&apos;m not sure what, if anything, I can do to help the situation.
</p>
<p>
	I found a new solution to our Internet connectivity situation.
	I hate having these stupid, untrustworthy, restrictive, nonfree firmwares installed on my Replicant device.
	I have three nonfree devices that I don&apos;t care about, but they two don&apos;t have the hotspot capability and the third has only a locked-down version of the feature.
	However, I found information suggesting that devices that appear to lack hotspot functionality sometimes actually do have it; they just lack the interface components needed to activate it.
	I found an application that controls the existing functionality, though it&apos;s unfortunately proprietary.
	The device that I want to run it on is already too restricted to be freed though, so it really doesn&apos;t matter except on principle.
	I installed it on the device that I like least (one that doesn&apos;t allow one to disable Google Play Services, causing constant errors as Google Play Services expects certain disabled components to not be disabled), and it works! I disabled every application that I could, regardless of if it was actually a threat, and now this think is pretty much just a hotspot.
	My mobile is no longer burdened by that task!
</p>
<p>
	Unfortunately, the hotspot application is a bit incomplete.
	It doesn&apos;t offer the option to set up an open hotspot, so I simply set the name of the hotspot to <code>The password is &quot;password&quot;.</code> and the password to <code>password</code>.
	My mother saw the network name as I was setting up their computer to use the new access point, and got confused as to how their computer was able to tell them the password before I&apos;d entered it.
	I tried to explain, but they claimed that what I was saying didn&apos;t make sense.
	When they explained what they thought didn&apos;t make sense, it turned out they hadn&apos;t listened to me at all.
	I walked them through it more slowly, and they got frustrated.
	Now they&apos;re worried that my father will use my Wi-Fi access point.
	First of all, why does my mother care? I&apos;m the one paying the bill on this access point, not my mother.
	Second, my father already has their own Wi-Fi network.
	Why would they use mine? Third, even if they did for some reason start using my access point, they&apos;d quickly see how slow it is and switch back to their own access point.
	Seriously, my carrier is slowing my Internet speeds to a crawl because of how much data transfer we&apos;ve used.
</p>
<p>
	I decided that the safest way to be sure that the proprietary firmware was removed from my Replicant device was to completely reinstall Replicant.
	I couldn&apos;t do that from a ZIP file in the internal memory, as that was encrypted, so I tried insteas to use <code>adb sideload</code>.
	That didn&apos;t work though.
	Nothing was showing up on ClockworkMod&apos;s and and $a[ADB] was throwing an error.
	I happened to try to look at files on my external $a[SD] card though, and much to my surprise, ClockworkMod could read them! Last time that I tried something like that, ClockworkMod wasn&apos;t even able to mount the Ext4 file system.
	With this new ClockworkMod capability available, I rebooted into Replicant, transfered the ZIP file to the $a[SD] card via $a[MTP], rebooted back into ClockworkMod, and installed the system without further issue.
</p>
<section id="docmod">
	<h2>Document modifications</h2>
	<p>
		On <a href="/en/weblog/2017/11-November/02.xhtml">2017-11-02</a>, this journal page was modified in order to redact the name of the university.
	</p>
</section>
END
);
